Detecting network-application service failures

ABSTRACT

A computer-implemented process ( 200; 500 ) for detecting service failures of a network application under test (NAUT:  101; 310 ) involves collecting ( 201, 503 ) raw network-application availability monitoring (NAAM) data ( 116, 356 ). The NAAM data can include datapoints, each which specifies the network application under test (NAUT), a respective test site ( 304 ); a time corresponding to a respective probe, and an indication whether the respective probe resulted in a success or a failure. The raw NAAM data is filtered ( 202; 520 ) to remove datapoints indicating failures associated with causes other than a service failure of the NAUT. The filtered NAAM data ( 118, 336 ) is analyzed to detect ( 203, 530 ) a service failure ( 120 ) of the NAUT.

BACKGROUND

Network application availability monitoring (NAAM) is used to confirm,the continued availability of network applications, e.g., web-serverapplications, and to identify periods in which a network application isunavailable. NAAM can be useful to businesses in evaluating the uptimeperformance of a network application, as well as in serving as a warningsystem for problems that may need to be addressed.

NAAM may involve repeated probing of a host site by a test site. Thetest site may repeatedly (e.g., every five or ten minutes) issuing aprobe sequence corresponding to a series of actions a client, e.g.,customer, might take. NAAM result data can include datapoints, each ofwhich identifies the network application under test (NAUT), the time theprobe was issued, and the outcome (success versus failure) of the probe.

NAAM result data can be collected, at multiple test sites to helpdistinguish test-site failures from network-application servicefailures. NAAM datapoints can be collected from the test sites andanalyzed to identify times associated with NAUT service failure. Forexample, durations in which the percentage of NAAM datapoints indicatingfailure exceeds some threshold can be used to identify service failures.

BRIEF DESCRIPTION OF THE DRAWINGS

The following figures represent examples or implementations of theinvention and not the invention itself.

FIG. 1 is a schematic diagram of an example of a NAAM analysis system.

FIG. 2 is a flow chart of a NAAM analysis process implemented in thesystem of FIG. 1.

FIG. 3 is an example of a system including a NAAM analysis computer.

FIGS. 4A-4D are examples of NAAM signatures.

FIG. 5 is a flow chart of a NAAM analysis process implemented in thesystem of FIG. 3.

FIG. 6 is an example of a NAAM signature.

FIG. 7 is an example of a NAAM signature.

FIG. 8 is an example of a NAAM signature.

FIG. 9 is an example of a NAAM gene table.

FIG. 10 is an example of a NAAM gene-type table.

DETAILED DESCRIPTION

A NAAM data analysis computer 100, shown in FIG. 1, filters falseindications of service failures to provide filtered (reduced-noise) NAAMdata, which can yield more accurate identifications of service failures(periods of unavailability) of a network application under test (NAUT)101. To this end, computer 100 includes a processor 102, communicationsdevices 104, and computer-readable storage media 106. Media 106 isencoded with code 108 that, when executed by processor 102, defines aNAAM data collector 110, a NAAM data filter 112, and a service-failuredetector 114. These functional components cooperate to implement aprocess 200, flow charted in FIG. 2, including: at 201, collecting NAAMdata 116; at 202, filtering NAAM data to, in effect, remove falseindications of NAUT service failures to yield filtered NAAM data 118,and analyzing at 203 the filtered data to detect time periods 120service failures NAUT 101.

A network system 300, shown in FIG. 3, includes a host site 302,“point-of-presence” (POP) test sites 304, a NAAM data-analysis computer306, and networks 308, including the Internet. Host site 302 includes anetwork application under test (NAUT) 310. Typically, a NAUT is anapplication used by clients that access host site 302. The continuousavailability of NAUT 310 may be important for one or more reasons suchas profitability (e.g., a direct sales application), criticality (e.g.,the NAUT provides warning services), or credibility (e.g., users mayelect not to use an email service that is often unavailable). Inaddition to a NAUT, a host site can include other applications uponwhich the NAUT depends for availability. For example, NAUT 310 can be adatabase, which depends on application, web, and batch tiers foravailability.

In various examples, a host site may include one, two, or more, e.g.,hundreds, of NAUTs. In various examples, a NAUT may run on a singlestand-alone computer, on a computer module (e.g., blade), on a partitionof a computer, or on multiple computers or computer modules. In the caseof multiple computers or modules, they may be co-located, e.g., withinthe same room or building, or distributed across venues, e.g., differentbuildings, cities, states, countries, or continents.

POP test sites 304 include POP test sites 304-A, 304-B, and 304-C; formnemonic purposes, the respective locations for these sites areindicated as Antwerp, Beijing, and Chicago. Each test site serves as aninstrument for monitoring NAUT 310 for service failures. In general,there can be one to hundreds of test sites, with greater numbers makingit easier to distinguish test-site failures from NAUT failures. Havinggeographically diverse test sites also minimizes common sources of errordue to shared network infrastructure path elements (e.g., switches androuters). Other factors to consider in selecting test sites are thelocations of assets by the entity responsible for the testing, and therelative importance of locations (e.g., in terms of numbers of clients)at which test-site are to be placed.

Test sites 304 include hardware and software, which may differ amongtest sites. However, each test site 304-A, 304-B, and 304-C includes aserver 312, and a test program 314 running on the respective server.Each test program 314 is designed to repeatedly execute a respectivescript 316 that causes a sequence 318 of probes to be transmitted toNAUT 308. Each probe can correspond to a request that a client mightmake. For example, each execution instance of script 318 corresponds toa respective sequence of probes in turn corresponding to a series ofactions designed to 1) open a home page; 2) log in, and 3) select anitem. In FIG. 3, each probe is indicated by a combination of a test-siteletter identifier (e.g., A, B, or C) and a probe number (e.g., 1, 2, 3)in the respective instance of probe sequence 318. For examples withlarger numbers of test sites and/or with longer probe sequences, longertext strings can be used for identification.

NAAM data analysis computer 306 includes a processor 320, communications(including input/output) devices 322, and non-transitorycomputer-readable storage media 324. Media 324 is encoded with code 326corresponding to data including program instructions. The datainstructions interact with computer hardware including processor 320 todefine a NAAM data collector 330, a NAAM data filter 332, and a NAUTdetector 334. In addition, code 326 defines non-instruction dataincluding collected NAAM data in the form of signatures 336, filteredNAAM data 338, and “NAUT service-failure data 340. NAAM data filter 332includes a sequence instance and step identifier 342, a step failurefilter 344, and a POP failure filter 346. Herein, “computer” is anestable term so that, for example, one computer can serve as a NAAMdata collector 330, while another can provide for filter 332 anddetector 334.

During normal operation, clients 350 interact with NAUT 310 by makingrequests 352 and receiving responses 354. Also during normal operation,test sites 304 transmit probes 356 to NAUT 310, which returnscorresponding results 358. In failure cases where no result is returned,the result can be a time-out at the test site that sent the probe; thetimeout would be indicated as a failure datapoint. Results 354 are usedto generate raw NAAM data 356, which the tests sites transmit to NAAMdata analysis computer 306.

Raw NAAM data 356 is a batch or stream of datapoints. Each datapointcorresponds to a probe transmitted from a test site 304 to NAUT 310.Each datapoint specifies: 1) the test site that sent the probe; 2) thetime the probe was sent; and 3) whether the result was a success or afailure. For the illustrated example, the raw datapoints do notexplicitly specify host-site conditions (e.g., downtime due to schedulemaintenance) and do not distinguish probe sequence positions (e.g.,whether the probe is the first, second, or third probe in a sequence ofthree probes). in other examples, datapoints may specify values of otherparameters.

While a datapoint of raw NAAM data 356 can distinguish between a successand a failure, it does not determine the source of is a failure. A probecan result in a failure for several reasons, e.g., 1) a failure of NAUT310; 2) a failure of a front-end or other host-site program or ofhost-site hardware required to access NAUT 310; 3) a mismatch between aprobe and NAUT 310 (for example, a failure can be indicated when a probeattempts to activate a link that has been removed from NAUT 310; 4) afailure at a test site; and 5) a failure of a network infrastructuredevice or path 360.

Ideally, the raw NAAM data would be as represented in FIG. 4A, whichshows a series of raw datapoints ordered chronologically along line 402according to the time the respective probes were transmitted. Theillustrated datapoints represent three consecutive successful probesfrom test site 304A (FIG. 3), followed by three consecutive successfulprobes from test site 304B, followed by unsuccessful probe from testsite 304C, followed by a pair of unsuccessful probes from test site304A. It is straightforward to identify a service failure of NAUT 310 atT1=8AM, since the probes transmitted earlier were uniformly successfuland the probes transmitted later were uniformly unsuccessful.

In reality, such clean identifications can be the exception rather thanthe rule. For example, FIG. 4B corresponds to a situation in which testsite 304A is sending failure datapoints even when NAUT 310 is available.For example, test site 304A may have an IP range incorrectly specifiedin a proxy affecting probe-specific network traffic from test site 304Ato host site 302, or return traffic from host site 302 to test site304A; in that case, probes are not transmitted or not transmitted to theaddress for NAUT 310 and the resulting timeouts are deemed probefailures. Depending on the algorithm used to detected NAUT failures, theNAUT failure may be deemed to have begun at 7:30 rather than 8:00, forexample.

The task of detecting a NAUT service failure can be further complicatedby step failures. For example, FIG. 4C shows the situation of FIG. 413but with an additional systematic step failure in that the third step ofevery probe sequence is detected as a failure even when NAUT 310 isavailable. This may happen when a change in NAUT 310 renders the thirdprobe obsolete, e.g., the probe calls for activating a link that is nolonger presented by NAUT 310. In this case, the onset of the NAUTservice failure at 8:00 is even more difficult to identify.

A further complication can result from. the asynchronous operation oftests sites 304. There is no guarantee that the datapoints correspondingto a probe sequence will appear consecutively. Thus, FIG. 4D shows someinterleaving of datapoints from different test sites. For example, thetwo consecutive successful probes from test site 304B as show in FIG.4C, are separated by an unsuccessful probe from test site 304A in FIG.4D). Further complications can arise from problems associated withnetwork infrastructure devices; such problems can affect some probes butnot others from the same website; also, network infrastructure problemscan. affect some but not all test sites.

A challenge faced by NAAM data analysis computer 306 is to make validdetections of NAUT service failures despite all these complications inthe raw NAAM data 356. To this end, computer 306 implements process 500,flow-charted in FIG. 5. Preliminarily, at 501, test sites 304 transmitprobes, e.g., automated requests, to NAUT 310. At 502, tests sites 304characterize probe results and generate NAAM data including datapoints.Each datapoint specifies the network application under test, the testsite that sent the probe, the time the probe was sent, and whether theprobe result was a success (the expected response was received) or afailure (an unexpected response or a time-out with no response). At 503,the NAAM data is transmitted to NAAM analysis computer 306; the transfercan be initiated by either the test sites or NAAM analysis computer 306.

At 510, NAAM data collector 330 collects raw NAAM data 356, organizingit and storing the organized data as collected NAAM data 336. In system300, raw NAAM data 356 is streamed (i.e., sent as it is generated ratherin batches) to computer 306. NAAM data collector 330 then divides orotherwise arranges the incoming data into groups of NAUT-over-time“signatures” for analysis.

For example, NAAM data collector 330 can organize incoming data into6-hour signatures so that one signature can represent probes transmittedbetween 6AM and 12N on a particular day and the next from 12N to 6PM.Alternatively, shorter or longer signature durations can be used. Also,signatures may overlap, e.g., a signature extending from 6AM to 12N canbe followed by a signature from 7AM to 1PM. In some variations, asliding window technique is used so that the time period underconsideration, in effect, slides forward in time, with older datapointsbeing retired as new ones come into consideration.

At 520, NAAM data filter 332 filters the collected NAAM data to yieldfiltered NAAM data 338. Process segment 520 can include several processsegments of its own. At 521, a signature is analyzed to identify probesequence instances and identify the sequence step to which eachdatapoint belongs. (Recall that NAAM datapoints of raw NAAM data 356 donot specify the sequence position of the corresponding probe.) Thisidentification can be performed by considering the datapoints one testsite at a time. For example, the datapoints for test site 304B mightappear as in FIG. 7.

FIG. 7 depicts a time line 700 having a constant length to time ratiothroughout (as opposed, for example, to FIG. 6 in which achronologically ordered line 600 progresses in time from left to right,but not at a constant rate). It can be noted that datapoints 702 fromthe same sequence 704 occur closer in time to each other than dodatapoints from different sequences. in other words, intra-sequenceintervals 706 are shorter than inter-sequence intervals 708.Inter-sequence intervals 708 can be detected by scanning a signatureand, considering one test site at a time, noting the magnitudes of theintervals between consecutive datapoints. Datapoints between successiveinter-sequence intervals belong to the same probe sequence 704 or“gene”; the probe sequence instances for each test site can beidentified. Note how the time-based gene definition tends to“disentangle” or “unintertwine” the asynchronous NAAM data.

Tallying the number of datapoints from the same test site in an intervalbetween successive inter-sequence intervals provides a count for thenumber of datapoints per probe sequence 704. This in turn permits stepsto be assigned to each datapoint. FIG. 8 represents the same datapointsas FIG. 4D, but with steps identified as provided for at 521.

At 522 a “gene” list or table is populated with gene-frequency counts.Each gene corresponds to a probe sequence. Each step in the sequence canassigned its own character or combination of characters. Upper caseletters can be used to represent successes, while lower case letters canbe used to represent failures on a per-step basis. For example, BbBrepresents a probe sequence of three probes for which the first andthird were successful and the second resulted in failure. FIG. 9 depictsa gene table 900 for a three-probe sequence and three test sites (304A,304B, and 304C).

At 523, test site filtering is performed. If the genes for one test siteare predominantly, e.g., at least 90%, of an all-failure type, e.g.,aaa, bbb, or ccc, but at least 50% of the other test sites are notpredominantly failure genes, then the signature is deemed to suffer froma test-site failure. In the case of a test site failure, the datapointsfor that test site are removed. from the signature. Alternatively, ifall genes after a given time in a signature are failure genes, thedatapoints for that test site after that time are removed from thesignature. In effect, this removes noise due to test-site failures fromthe NAUT signal being analyzed, yielding a POP-filtered signature. Inthe illustrated examples, filtering is performed to remove datapointscorresponding to failures due to some but not all sources other thanNAUT downtime; in other examples, filtering removes datapointscorresponding to all sources other than NAUT downtime.

At 524, step filtering is performed. Success/failure patterns aregrouped across test sites using the data in gene table 900. in thiscase, the test-site designations are ignored so that, in effect, genetable 900 becomes a gene-type table 1000, as shown in FIG. 10. Ingene-type table 1000, FIG. 10, success-failure patterns are consideredirrespective of test site. Thus, instances of genes AaA, BbB, and CcCare treated as instances of a gene type XxX. The tally for a gene typeis the sum of the tallies for the component genes. If one of the partialfailure gene types (XXx, XxX, xXX, Xxx, xXx, xxX) predominates, e.g., atleast 90% of the genes in an extended interval are of that gene type, astep failure is identified. In such a case, the datapoints correspondingto the failed step can be discarded from the signature, yielding aPOP-and-step-filtered signature.

At 530, the POP and step filtered signature is analyzed, e.g., byapplying a ⅔ rule, in which a inter-sequence sized window is slid fromearliest (left) to latest (right). Positions in which two thirds or moreof the datapoints are “failures” are taken to indicate a service failuresubject to a condition that a failure cannot begin or end at asuccessful datapoint. By applying such a rule to filtered data ratherthan unfiltered data, NAUT service failures and their associated onsetsand endpoints can be identified more reliably. Process segments 501-530are iterated so yield and analyze NAAM signatures, wherein each NAAMsignature starts when its predecessor ends, or overlaps its predecessor.

Additional filtering may be applied after or before service failuredetection at 530. For example, short (e.g., less than two minutes)periods of success between detected service failures may indicate afailed restart. In that case, the short interim can be ignored and thetwo detected service failures can be merged into a single longer servicefailure.

Process 500 is inherently adaptive since the number of steps in a probesequence is determined from the NAAM data itself without usingpre-defined patterns. if the number of steps in a probe sequence or thetiming of a probe sequence is changed, process 500 can still determinethe number of steps in a sequence and filter out test-site andsystematic step failures.

Results are reported and transmitted at 540, e.g., to administrators toevaluate overall availability or to address causes of service failures.Since the filtered data is relatively free of false detections, theservice failure detections are clean and relatively easy to interpret bynon-technical managers and others without special training.

“NAAM”, herein, is an abbreviation for “network-application availabilitymonitoring”. A “network application” is an application that can beaccessed by clients over a network, e.g., the Internet. “Availabilitymonitoring” refers to an activity of monitoring a network application todistinguish when it is available and when it is subject to a servicefailure and is, therefore, unavailable. Thus, availability monitorsprovides for evaluating the reliability of a NAUT and/or to detectproblems compromising a NAUT's availability. “Raw” as used herein means“in a form prior to some explicitly described processing”. “Raw” doesnot exclude some form of previous-processing.

Herein, a network application that is being monitored for availabilityis referred to as a “network application under test” or NAUT. A NAUT canbe “available” in that it responds appropriately to client requests orsubject to a service failure (i.e., “unavailable”) in that it fails torespond appropriately to client requests. The failure may be planned (asin schedule maintenance) or unplanned (e.g., caused by an equipmentfailure).

Herein, a “test site” is a location including an instrument configuredto send probes to a NAUT. Pop, “test sites”, or perhaps more helpfullyinstrument that happens to have POP functionality. The thing that ismaking the measurement and transmitting the data is an instrument. Youcan have many instruments at a site (for capacity); the site is aproperty of the instrument (which may be chosen to emulate customerexperiences globally). Herein, multiple test sites in geographicallydiverse locations may send probes to a NAUT.

Herein, a “probe” is a request sent for test or monitoring purposes thatmimics a request that a client might make in normal use of a NAUT. Aprobe sequence is a series of one or more probes. The probes of amulti-probe sequence typically represent different requests. Amulti-probe sequence can be divided into “steps”, each of whichcorresponds to a respective probe in the sequence. “Probe step number”corresponds to the position of a probe in a probe sequence. Differentinstances of a probe sequence can be transmitted by different test sitesand by a given test site at different times. Each probe may have aresult; when the result is the designed-for or expected result, a“success” may be indicated. When the result is not desired or absent, a“failure” may be indicated.

Herein, “analyzing” means “performing computations on” to yield someinsight into the object being analyzed. Herein, the object of analysiscan be NAAM data, e.g., as arranged in a signature. Herein, “filtering”means “modifying”, typically by removal For example, filtering NAAM dataor a signature can involve removing datapoints that meet some criterionfrom the NAAM data or the signature.

“datapoint” is a unit of data specifying values for plural. parameters.Each datapoint herein is associated with a probe that was transmittedfrom a test site to a NAUT. Each such datapoint specifies the NAUT theprobe was intended to be sent to, the test site transmitting the probe,the time the probe was transmitted, and the result (e.g., success vs.failure) of the probe. A “signature” is a temporally ordered arrangementof datapoints that can be used to characterize the availability of aNAUT.

Herein, a “system” is a set of interacting non-transitory tangibleelements, wherein the elements can be, by way of example and not oflimitation, mechanical components, electrical elements, atoms, physicalencodings of instructions, and process segments. Herein, “process”refers to a sequence of actions resulting in or involving a physicaltransformation. “Storage medium” and “storage media” refer a systemincluding non-transitory tangible material in or on which information isor can be encoded so as to be readable by a computer. “Display medium”and “display media” refer to storage media in which information isencoded in human readable form. “Computer-readable” refers to storagemedia in which information is encoded in computer-readable form.

Herein, unless preceded by the word “virtual”, “machine”, “device”, and“computer” refer to hardware or a combination of hardware and software.A “virtual” machine, device or computer is a software analog orrepresentation of a machine, device, or server, respectively, and not a“real” machine, device, or computer. A “server” is a real (hardware orcombination of hardware and software) or virtual computer that providesservices to computers. Herein, unless otherwise apparent from context, afunctionally defined component e.g., a collector, a filter, a detector,an analyzer) of a computer is a combination of hardware and softwareexecuting on that hardware to provide the defined functionality.However, in the context of code encoded on computer-readable storagemedia, a functionally-defined component can refer to software. A“computer-implemented process” is a process that is tied to a particularmachine or set of machines in that the machine or machines are requireto perform one or more elements of the process.

Herein, a computer is a machine having co-located or distributedcomponents including computer-readable storage media, a processor, andone or more communications devices. The media stores or is configured tostore code representing data including computer-executable instructions.The processor, which can include one or more central-processing units(CPUs), reads and manipulates data in accordance with the instructions.“Communication(s) device(s)” refers to computer-hosted devices used totransmit and/or receive data. Herein, a “computer network” is a networkof communicatively coupled real and, in sonic cases, virtual nodes,wherein the nodes can be, by way of example and not of limitation,servers, network infrastructure devices, and peripherals. Herein, a“node” encompasses real and virtual devices.

In this specification, related art is discussed for expository purposes.Related art labeled “prior art”, if any, is admitted prior art. Relatedart not labeled “prior art” is not admitted prior art. In the claims,“said” qualifies elements for which there is explicit antecedent basisin the claims; “the” refers to elements for which there is implicitantecedent basis in the claims; for example, the phases “the center ofsaid circle” indicates that the claims provide explicit antecedent basisfor “circle”, which also provides as implicit antecedent basis for“center” since every circle contains exactly one center. The illustratedand other described embodiments, as well as modifications thereto andvariations thereupon are within the scope of the following claims.

What is claimed is:

1. A computer-implemented process comprising: collecting rawnetwork-application availability monitoring (NAAM) data, said NAAM dataincluding datapoints, each of said datapoints specifying a networkapplication under test (NAUT), a respective test site; a timecorresponding to a respective probe, and an indication whether therespective probe resulted in a success or a failure; filtering said rawNAAM data to remove datapoints indicating failures associated withcauses other than unavailability of said NAUT to yield filtered NAAMdata; and detect at least one service failure of said NAUT using saidfiltered NAAM data.
 2. A process as recited in claim 1 furthercomprising organizing said datapoints of said raw NAAM data into asignature, said filtering including, analyzing said signature toidentify sets of datapoints corresponding to respective probe sequencesand to distinguish said datapoints according to respective step numbersin respective probe sequences of respective probes.
 3. A process asrecited in claim 2 wherein said filtering includes removing datapointsdetermined to represent test-site failures.
 4. A process as recited inclaim 2 wherein said filtering involves removing datapoints determinedto represent probe-sequence step failures.
 5. A process as recited inclaim 1 wherein wherein said raw NAAM datapoints do not indicate probestep numbers.
 6. A system comprising a network application availabilitymonitoring (NAAM) computer, said computer including; a NAAM datacollector configured to collect raw NAAM data provided by plural testsites, said NAAM data including datapoints, each of said datapointsspecifying a network application under test (NAUT), a respective testsite; a time corresponding to a respective probe, and an indicationwhether the respective probe resulted in a success or a failure; a NAAMdata filter configured to filter said raw NAAM data to provide filteredNAAM data by removing datapoints corresponding to failures associatedwith sources other than said NAUT; and a service-failure detectorconfigured to detect service failures of said NAUT by analyzing saidfiltered NAAM data.
 7. A system as recited claim 6 wherein said NAAMdata collector is further configured to arrange said datapoints inchronological order to form a signature.
 8. A system as recited in claim7 wherein said NAAM data filter is further configured to analyze saidsignature to identify sets of datapoints corresponding to probesequences instances and to distinguish datapoints within a set accordinga step position of a respective probe in the respective probe sequence.9. A system as recited in claim 6 wherein said computer includes aprocessor and media encoded with code, said code being configured toexecute on said processor to define said NAAM data collector, said NAAMdata filter, and said unavailability detector.
 10. A system as recitedin claim 6 further comprising plural of said test sites, each of saidtest sites being configured to: transmit probes to said NAUT; generatesaid datapoints based on results of said probes; and transmit datapointsto said NAAM computer.
 11. A system comprising computer-readable storagemedia encoded with code configured to, when executed by a processor,detect, identify and remove from network application availabilitymonitoring (NAAM) data: datapoints corresponding to probes that resultedin failures for reasons other than a service failure of a networkapplication under test (NAUT).
 12. A system as recited in claim 11further comprising said processor.
 13. A system as recited in claim 11wherein the datapoints removed from said NAAM data include datapointscorresponding to failures caused by failures of one or more but not alltest sites providing said NAAM data.
 14. stem as recited in claim 11wherein the datapoints removed from said NAAM data include datapointscorresponding to failures caused by failures associated with aparticular step of a probe sequence plural instances of which aretransmitted by different test sites to said NAUT.
 15. A system asrecited in claim 11 wherein said code is further configured to, whenexecuted by said processor, arrange said datapoints chronological toform a signature, said filtering including analyzing said signature toidentify instances of probe sequences in said signature and identifyprobe sequence steps for respective ones of said datapoints.